var versionsTimer;// 定时器
var Prompt_content; // 弹窗提示信息
export default {
	data() {
		return {
			ValidityPassed: null,// 有效期是否通过
		}
	},
	created() {
		
	},
	async mounted() {
		// 获取当前系统时间
		this.getDate().then(res => {
			// 日：15号
			if (res.day == 15) {
				// 每月10号效验一次
				const key = uni.getStorageSync('ValidityPassed_key')
				console.log("key === ",key)
				if (key==true) {
					// 已有效验
				}else {
					// 不存在
					this.get_xmplayer_versions()
				}
			}else {
				// 不是15号，就重置key=false
				this.getSetTimeout(5000).then(res => {
					// 存入本地
					uni.setStorageSync('ValidityPassed_key', false);
				})
			}
		})
		
	},
	// 实例销毁之前调用
	beforeDestroy() {
		// 清除定时器
		clearTimeout(versionsTimer)
		//console.log('beforeDestroy ---- 清除定时器')
	},
	watch:{
		// 监听效验结果
		ValidityPassed:{
			handler(newValidity,oldValidity){
				if (newValidity==false){
					// 效验失败
					// 延时30秒后再提示，如果30内就退出，则清除定时器
					this.getSetTimeout(30000).then(res=>{
						if (versionsTimer != 0) {
							// 暂停视频
							this.pause()
							// 弹出提示
							this.uniShowModal(Prompt_content)
						}
					})
				}else {
					// 效验通过
				}
			},
			immediate:true,
		}
	},
	methods:{
		get_xmplayer_versions(){
			let xm_ext_id = 'FatFatMeng-VideoPlayer'//插件ID
			let xm_name = '熊猫播放器'//插件名称
			let xm_name_en = 'xmplayer'//插件简称
			let xm_url = 'https://ext.dcloud.net.cn/plugin?id=6715'//插件地址
			uniCloud.callFunction({
			    name: 'xmplayer-versions',
			    data: {},
				success: (res) => {
					console.log('---云函数请求成功---')
					console.log(res)
					if (res.result.data.length>=1){
						let {
							ext_id,
							name,
							name_en,
							url
						} = res.result.data[0]
						if (xm_ext_id==ext_id && xm_name==name && xm_name_en==name_en && xm_url==url){
							// 云函数效验通过
							console.log('云函数效验通过')
							// 设置效验有效期通过
							this.ValidityPassed = true
							// 存入本地
							uni.setStorageSync('ValidityPassed_key', true);
						}else {
							// 云函数效验失败
							console.log('云函数效验失败')
							// 设置效验有效期未通过
							this.ValidityPassed = false
							// 设置提示内容
							Prompt_content = '云端插件信息效验失败，请核对后重试！'
							// 存入本地
							uni.setStorageSync('ValidityPassed_key', false);
						}
					}else {
						// 用户删除了数据表，同样是效验失败
						console.log('云函数效验失败---用户删除了数据表')
						// 设置效验有效期未通过
						this.ValidityPassed = false
						// 设置提示内容
						Prompt_content= '云端插件信息效验失败，请核对后重试！'
					}
				},
				fail: (err) => {
					console.log('---云函数请求失败---')
					console.log(err)
					
					// 判断是否有网路链接
					if (this.NetworkType == 'none') {
						// 无网路，不用提示。
					}else {
						// 有网路

						// 设置效验有效期未通过
						this.ValidityPassed = false
						//this.uniShowModal('你的插件试用已到期，请购买后继续使用') 
						// 设置提示内容
						Prompt_content = '云函数[xmplayer-versions]在云端不存在，请检查此云函数名称是否正确以及该云函数是否已上传到服务空间。\n如果试用时间显示已过期，请购买后继续使用。'
						// 存入本地
						uni.setStorageSync('ValidityPassed_key', false);
					}
					
				},
				complete() {}
			});
		},
		// 弹出提示
		uniShowModal(content){
			uni.showModal({
				title: 'DCloud云服务',
				content: content,
				showCancel: true,
				mask: true,
				success: (res) => {
					if (res.confirm){
						// 调用系统浏览器打开插件地址
						let httpUrl = 'https://ext.dcloud.net.cn/plugin?id=6715'
						this.getPlusRuntimeOpenURL(httpUrl)
					}
				}
			})
		},
		// 打开外置应用
		getPlusRuntimeOpenURL(httpUrl){
			// 只在APP有效
			// #ifdef APP-PLUS
			plus.runtime.openURL(httpUrl, function(res) {
				console.log(res);
			})
			// #endif
		},
		// 延时时间
		async getSetTimeout(time){
			return new Promise((resolve, reject) => {
				versionsTimer = setTimeout(() => {
					resolve()
					clearTimeout(versionsTimer)
				}, time)
			})
		},
	}
}